Preliminary Design

 

Requested by:   Dr. Darren Lim

                                       Assistant Professor

                                     Department of Computer Science

                                    Siena College

 

                                    Mrs. Pauline White

                                    Visiting Instructor

                                    Department of Computer Science

                                       Siena College

 

Generation Java

 

ID – 10t Consultants

 

          Prepared by:  Kevin Mulchay

                                      Christine Fox

                                      Nick Miller

                                   Jordan Steans

 

 

December 1, 2008

Generation Java

Preliminary Design

 

Table of Contents

 

I.          Product Overview and Summary ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.3

II.        External Design Specifications

            Detailed Data Flow DiagramsÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ3

            Prototype Screens...ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ..É.3

            Logical Data DictionaryÉ..ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ...................................4

           

III.       Architectural Design Specification

            Structure Diagrams (Hierarchy Diagram)ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.7

           

IV.       Testing Requirements

            Requirements InventoryÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.8

            Unit TestsÉÉÉÉÉ..ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ.14

                       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Section 1:  Product Overview and Summary

 

Students learn best through practice and application of course materials.  Generation Java will provide students with the ability to practice, complete homework assignments, take quizzes and test, in an input based web application that will compile and run the studentÕs Java code for instantaneous feedback.  Instructors will be able to create question sets and allow student access as well as being able to offer more practice for students.  Administrators will manage, update, and maintain this application management system.

 

Section 2: External Design Specifications

 

           

Detailed Data Flow Diagrams

(see attached document)

           

 

 

Prototype Screens (see attached document)  

 

 

 

 

 

 

 

 

 

Logical Data Dictionary 

ID-10t Consulants

 

Data Dictionary

 

 

 

 

 

 

Date: 11/20/08

 

TABLE

COLUMN

DATA TYPE

DESCRIPTION

NOTES

VALIDATION

 

students

std_id

VARCHAR(8)

Siena College network login
-first & middle initial
-the day of the month you were born (two digits)
-the first four letters of your last name

Required: Primary Key
Varations/Exceptions:
-If you have no middle initial, just skip it
-if you have an apostrophie in your name (e.g., O'Brien), leave it out
-if your last name is less than four letters, write what you have

AlphaNumeric
-option 1: two chars, two digits, & at least two chars
-option 2: one char, two digits, & at least two chars

 

students

std_email

VARCHAR(30)

student's e-mail address

 

 

 

students

std_fname

VARCHAR(20)

student's first name

 

 

 

students

std_lname

VARCHAR(20)

student's last name

 

 

 

students

std_password

VARCHAR(15)

student's password

Chosen by student at account creation.  Passwords must be a minimum length of 8 characters

AlphaNumeric

 

instructor

inst_id

VARCHAR(8)

Siena College network login
-first & middle initial
-the day of the month you were born (two digits)
-the first four letters of your last name

Required: Primary Key
Created by system administrator at account creation

AlphaNumeric
-option 1: two chars, two digits, & at least two chars
-option 2: one char, two digits, & at least two chars

 

instructor

inst_email

VARCHAR(30)

instructor's e-mail address

 

 

 

instructor

inst_fname

VARCHAR(20)

instructor's first name

 

 

 

instructor

inst_lname

VARCHAR(20)

instructor's last name

 

 

 

instructor

inst_password

VARCHAR(15)

instructor's password

Chosen by system administrator at account creation.  Passwords must be a minimum length of 8 characters

AlphaNumeric

 

sys_adm

sys_id

VARCHAR(10)

system administrator's login user id

Chosen by the system administrator

 

 

sys_adm

sys_email

VARCHAR(30)

system administrator's e-mail address

 

 

 

sys_adm

sys_fname

VARCHAR(20)

system administrator's first name

 

 

 

sys_adm

sys_lname

VARCHAR(20)

system administrator's last name

 

 

 

sys_adm

sys_password

VARCHAR(15)

system administrator's password

Chosen by the system administrator.  Passwords must be a minimum length of 8 characters

AlphaNumeric

 

prg_adm

prg_id

VARCHAR(8)

Siena College network login
-first & middle initial
-the day of the month you were born (two digits)
-the first four letters of your last name

Required: Primary Key
Created by system administrator at account creation

AlphaNumeric
-option 1: two chars, two digits, & at least two chars
-option 2: one char, two digits, & at least two chars

 

prg_adm

prg_email

VARCHAR(30)

program administrator's e-mail address

 

 

 

prg_adm

prg_fname

VARCHAR(20)

program administrator's first name

 

 

 

prg_adm

prg_lname

VARCHAR(20)

program administrator's last name

 

 

 

prg_adm

prg_password

VARCHAR(15)

program administrator's password

Chosen by the system administrator at account creation.  Passwords must be a minimum length of 8 characters

AlphaNumeric

 

prg_adm

prg_course

VARCHAR(10)

program administrator coordinates the specified course, section-wide

Chosen by the system administrator at account creation

 

 

course

course_number

VARCHAR(10)

course subject followed by course number and section number

Required: Primary Key
Ex. CSIS220-10

 

 

course

course_name

VARCHAR(30)

course name

 

 

 

course

semester

VARCHAR(10)

semester in which the course is offered

Chosen by the system administrator at course creation

 

 

course

course_inst

VARCHAR(20)

course instructor

 

 

 

course

course_pw

VARCHAR(15)

course password

Chosen by the system administrator at course creation

AlphaNumeric

 

question_set

set_name

VARCHAR(20)

question set name

 

 

 

question_set

set_type

VARCHAR(8)

question set type

Question Set types are:
-homework
-quiz
-test
-practice

 

 

question_set

size

NUMBER

number of questions in a question set

 

 

 

published_set

set_name

VARCHAR(20)

question set name

 

 

 

published_set

time_avail

TIME

the time the question set becomes available

Chosen at publication of the question set

 

 

published_set

time_due

TIME

the time the question set is due or becomes unavailable

Chosen at publication of the question set

 

 

published_set

date_avail

DATE

the date the question set becomes available

Chosen at publication of the question set

 

 

published_set

date_due

DATE

the date the question set is due or becomes unavailable

Chosen at publication of the question set

 

 

published_set

time_limit

TIME

how long a user has to submit the question set once the user has started answering the question set

Chosen at publication of the question set.  This is an optional field and can be left empty

 

 

published_set

num_of_attempts

NUMBER

the number of attempts a user has per question

Chosen at publication of the question set

 

 

published_set

late_submission

VARCHAR(3)

whether a published question set accepts late submissions

Chosen at publication of the question set.  Yes or No will be entered into this field

 

 

published_set

visible

VARCHAR(3)

whether a published question set is visible to users after the date and time due

Chosen at publication of the question set.  Yes or No will be entered into this field

 

 

question

qst_title

VARCHAR(30)

question title

 

 

 

question

qst_category

VARCHAR(10)

question category

Categories are:
-loops
-arrays

 

 

question

question

TEXT

the question

Can be added through an uploaded file

 

 

question

signature

VARCHAR(80)

method signature for the question

 

 

 

question

test_cases

TEXT

viewable test cases for the question

Can be added through an uploaded file

 

 

question

hidden_test_cases

TEXT

hidden test cases for the question

Can be added through an uploaded file and is also an optional field that can be left empty

 

 

question

solution

TEXT

question solution

Can be added through an uploaded file

 

 

question

recursive

VARCHAR(3)

whether the question should be answered recursively

Yes or No will be entered into this field

 

 

question

hints

TEXT

question hints

An optional field, can be left empty

 

 

gradebook

course

VARCHAR(10)

course subject followed by course number and section number

 

 

 

gradebook

date

DATE

date of an assignement

 

 

 

gradebook

assignment_name

VARCHAR(20)

name of an assignment

 

 

 

gradebook

pts_earned

NUMBER

number of points earned on an assignment

 

 

 

gradebook

point_total

NUMBER

total number of points that can be earned on an assignment

 

 

 

gradebook

category

VARCHAR(20)

category of the assignment

 

 

 

gradebook

weight

PERCENT

the weight of an assignment used to calculate a users' overall grade

 

 

 

private_pool

qst_set

VARCHAR(20)

name of a question set

 

 

 

private_pool

size

NUMBER

number of question sets in a private pool

 

 

 

course_pool

qst_set

VARCHAR(20)

name of a question set

 

 

 

course_pool

size

NUMBER

number of question sets in a course pool

 

 

 

global_pool

qst_set

VARCHAR(20)

name of a question set

 

 

 

global_pool

size

NUMBER

number of question sets in the global pool

 

 

 

bulletin

announcements

TEXT

announcements found on the home screen bulletin

 

 

 

 

 

 

 

 

 

 

   

             

 

 

 

Section 3:    Architectural Design Specification

 

 

 

 

 

 

 

 

 

 

 

 

Section 4: Testing Requirements

 

Requirements Inventory

 

Functional Requirements

Requirements grouped according to Use Case.

System Administrator:

There is only one System Administrator.

Once logged in, a System Administrator has three views available:

á      Student

á      Instructor

á      Administrator

 

The System Administrator can perform different tasks based on which view is currently be used:

 

Student View

o   The System Administrator views the system as a Student that is registered in all possible courses.

o   The System Administrator is not seen as registered for any course by any user.

o   The System Administrator does not need to log out to switch between courses.

           

o   The System Administrator is able to attempt any question set, including all homework, quiz, test, and practice sets for any section of any course by having the same functionality a student would have in attempting a question set.

o    The System Administrator is able to save code to a database.

o   Once code is compiled and executed, the System Administrator will receive feedback on it.

o   The feedback received by the System Administrator is identical to that of a Student; however, it is not viewable by any Instructor.

o   The System AdministratorÕs grades are not counted in any reports, including reports run by an Administrator.

o   The System Administrator should be aware when the maximum number of attempts (if specified) has been reached on a question, but should not be restricted by it as a Student would be.

o   The System Administrator has the ability to click any links (if provided and enabled) on any question.

o   The System Administrator can view all files posted by all Instructors.

 

Instructor View

o   The System Administrator views the system as an Instructor that is instructing all possible courses.

o   The System Administrator is not seen as an Instructor of any course by any user.

o   The System Administrator does not need to log out to switch between courses.

o   The System Administrator can create, edit, delete, and distribute all questions and question sets.

o   The System Administrator can set a time and date for any question set to become available.

o   The System Administrator can set a time and date for any questions set to be due.

o   The System Administrator can assign point totals to any question set.

o   The System Administrator can see all StudentsÕ last submissions and submission information for every (attempted) question in every question set.

o   The System Administrator can see all StudentsÕ statistics (including login information) and all statistics for every question in every question set.

o   Statistics will be provided in a report that can be requested by the System Administrator.

 

Administrator View

o   Program Administrator

o   Instructor

o   Student

 

 

Program Administrator:

A Program Administrator coordinates one more sections/courses.

There may be multiple Program Administrators.

Program Administrators do not register.

A Program AdministratorÕs account is created by the System Administrator.

 

Once logged in, a System Administrator has three views available:

á      Student

á      Instructor

á      Administrator

A Program Administrator can perform different tasks based on which view is currently be used:

 

Student View

o   A Program Administrator views the system as a Student that is registered in all courses specified by the System Administrator.

o   A Program Administrator is not seen as registered for any course by any user except by the System Administrator.

o   A Program Administrator does not need to log out to switch between courses.

           

o   A Program Administrator is able to attempt any of the question sets specified by the System Administrator, including homework, quiz, test, and practice sets.

o   A Program Administrator is able to save code to a database.

o   Once code is compiled and executed, A Program Administrator will receive feedback on it.

o   The feedback received by a Program Administrator is identical to that of a Student; however, it cannot be viewed by any Instructor.

o   A Program AdministratorÕs grades are not counted in any reports, including reports run by an Administrator.

o   A Program Administrator should be aware when the maximum number of attempts (if specified) has been reached on a question, but should not be restricted by it as a Student would be.

o   A Program Administrator has the ability to click any links (if provided and enabled) on any question specified by the System Administrator.

o   A Program Administrator can view all files posted by Instructors specified by the System Administrator.

 

Instructor View

o   A Program Administrator views the system as an Instructor that is instructing all courses specified by the System Administrator.

o   A Program Administrator is not seen as an Instructor of any course by any user.

o   A Program Administrator does not need to log out to switch between courses.

o   A Program Administrator can create, edit, delete, and distribute course-specific questions and question sets.

o   A Program Administrator can set a time and date for any question set specified by the System Administrator to become available.

o   A Program Administrator can set a time and date for any questions set specified by the System Administrator to be due.

o   A Program Administrator can assign point totals to any question set specified by the System Administrator.

o   A Program Administrator can see all StudentsÕ (specified by the System Administrator) last submissions and submission information for every (attempted) question in every question set.

o   A Program Administrator can see all StudentsÕ (specified by the System Administrator) statistics (including login information) and all statistics for every question in every question set (also specified by the System Administrator).

 

 

Administrator View

 

o   Instructor

o   Student

 

 

 

 

Instructor:

An Instructor does not register.

An InstructorÕs account is created by a Program Administrator or the System Administrator.

Once logged in, an Instructor has two views available:

á      Student

á      Instructor

 

An Instructor can perform different tasks based on which view is currently be used:

 

Student View

o   An Instructor views the system as a Student that is registered in all courses specified by the Program Administrator.

o   An Instructor is not seen as registered for any course by any user.

o   An Instructor does not need to log out to switch between courses.

           

o   An Instructor is able to attempt any of the question sets specified by the Program Administrator, including homework, quiz, test, and practice sets.

o   An Instructor is able to save code to a database.

o   Once code is compiled and executed, an Instructor will receive feedback on it.

o   The feedback received by an Instructor is identical to that of a Student. No one else can view this feedback.

o   An InstructorÕs grades are not counted in any reports, even reports run by an Administrator.

o   An Instructor should be aware when the maximum number of attempts (if specified) has been reached on a question, but should not be restricted by it as a Student would be.

o   An Instructor has the ability to click any links (if provided and enabled) on any question specified by the Program Administrator.

o   An Instructor can view all files posted by themselves or other Instructors specified by the Program Administrator.

 

 

 

 

 

Instructor View

o   An Instructor can view all courses specified by a Program Administrator.

o   An Instructor is seen as the Instructor for all courses specified by the Program Administrator.

o   An Instructor does not need to log out to switch between courses.

o   If an Instructor wishes to teach a new course, the new course may be added by inputting the Course ID into the appropriate location. A Course ID is provided by the Program Administrator or System Administrator.

o   An Instructor has the ability to create, edit, and delete java questions in the InstructorÕs own private pool.

o   An Instructor can upload a question or enter it into a text box.

o   An Instructor may provide links to aid a Student.

o   An Instructor has the ability to create, edit and delete question sets in the InstructorÕs own private pool.

o   An Instructor can use questions from the InstructorÕs private pool, the course-specific pool, or the global pool when creating question sets.

o   When creating a question set, an Instructor can set point totals and a maximum number of attempts allowed for each question.

o   An Instructor can set a time and date for a question set to become available and unavailable.

o   If an Instructor wishes to add a question or question set to the course-specific pool, it must be submitted to the Program Administrator.

o   If an Instructor wishes to add a question or question set to global pool, it must be submitted to the System Administrator.

o   An Instructor can see all StudentsÕ (registered in the InstructorÕs course) last submissions and submission information for every (attempted) question in every question set.

o   An Instructor can see all StudentsÕ (registered in the InstructorÕs course) statistics (including login information) and all statistics for every question in every question set (also in the InstructorÕs course).

o   These statistics (which include grade information) can be generated into reports and exported to a tab delimited or .pdf file.

o   An Instructor may edit a StudentÕs grade as seen fit.

o   An Instructor may deny a student access to a course.

o   An Instructor may post files that can be viewed by Students in the InstructorÕs course.

 

An Instructor can log out in either view.

 

Student:

A Student has only one view.

 

o   A Student must register in a specific course by entering a Course ID in the appropriate location.

o   A Course ID is provided by the Instructor of that course.

o   A Student may be registered in multiple courses under the same username and password.

o   A Student does not need to log out in order to change which course is currently being worked in.

o   A Student has the ability to view and attempt any question set provided by the Instructor.

o   When a Student submits code, feedback is returned indicating the codeÕs degree of correctness.

o   A Student can retry a question until the number of attempts (if specified) has run out.

o   A Student may see only their own grades and statistics.

o   A Student may view any link or file provided by the Instructor (if enabled).

o   A Student may not click out of the testing window during a test or the test will be terminated.

o   A Student may log out as desired.

 

 

Non Functional Requirements

-       The system should run quickly, using fast servers and databases.

-       The system should be user-friendly.

 

Section 4: Unit Tests (see attached document)